package com.aizuda.boot.modules.business.negotiation.entity.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDate;
import java.util.List;

/**
 * 协商列表筛选条件DTO
 */
@Data
@Schema(description = "协商列表筛选条件")
public class NegotiationFilterDTO {
    
    @Schema(description = "协商状态列表")
    private List<String> negotiationStatusList;
    
    @Schema(description = "合同类型ID")
    private List<Integer> contractTypeId;
    
    @Schema(description = "协商发起日期范围")
    private List<LocalDate> startDateRange;
    
    @Schema(description = "申请人ID")
    private Long applicantId;
    
    @Schema(description = "申请人部门ID")
    private List<Long> applicantDepartmentId;
    
    @Schema(description = "协商参与者ID")
    private List<Long> participantId;
    
    @Schema(description = "已确认角色ID")
    private Integer confirmedRoleId;
    
    @Schema(description = "是否全部节点已确认")
    private Boolean allNodesConfirmed;
    
    @Schema(description = "我的最后确认时间范围")
    private List<LocalDate> lastConfirmDateRange;
    
    @Schema(description = "确认/定稿进度")
    private List<String> confirmProgressList;
} 